package org.jeecg.modules.teacher.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

@Data
@TableName("tea_teacher")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="tea_teacher对象", description="tea_teacher")
public class TeaTeacherVo {
    private static final long serialVersionUID = 1L;

    /**教师自增ID*/
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "教师自增ID")
    private String id;
    /**教职工号*/
    @Excel(name = "教职工号", width = 15)
    @ApiModelProperty(value = "教职工号")
    private String teacherFacultyCode;
    /**姓名*/
    @Excel(name = "姓名", width = 15)
    @ApiModelProperty(value = "姓名")
    private String teacherName;
    /**电话号码*/
    @Excel(name = "电话号码", width = 15)
    @ApiModelProperty(value = "电话号码")
    private String teacherTel;

    /**老师昵称(简称)*/
    @Excel(name = "老师昵称(简称)", width = 15)
    @ApiModelProperty(value = "老师昵称(简称)")
    private String teacherNickname;
    /**老师名字拼音*/
    @Excel(name = "老师名字拼音", width = 15)
    @ApiModelProperty(value = "老师名字拼音")
    private String teachernamePinyin;

    /**显示顺序*/
    @Excel(name = "显示顺序", width = 15)
    @ApiModelProperty(value = "显示顺序")
    private Integer teacherOrder;
    /**出生日期*/
    @Excel(name = "出生日期", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "出生日期")
    private Date teacherBirth;
    /**性别*/
    @Excel(name = "性别", width = 15, dicCode = "sex")
    @Dict(dicCode = "sex")
    @ApiModelProperty(value = "性别")
    private Integer teacherGender;
    /**民族*/
    @Excel(name = "民族", width = 15, dicCode = "common_nation")
    @Dict(dicCode = "common_nation")
    @ApiModelProperty(value = "民族")
    private Integer teacherNation;
    /**身份证号码*/
    @Excel(name = "身份证号码", width = 15)
    @ApiModelProperty(value = "身份证号码")
    private String teacherIdNumber;
    /**邮箱地址*/
    @Excel(name = "邮箱地址", width = 15)
    @ApiModelProperty(value = "邮箱地址")
    private String teacherEmail;
    /**微信号*/
    @Excel(name = "微信号", width = 15)
    @ApiModelProperty(value = "微信号")
    private String teacherWechatId;
    /**QQ*/
    @Excel(name = "QQ", width = 15)
    @ApiModelProperty(value = "QQ")
    private String teacherQqId;
    /**户籍*/
    @Excel(name = "户籍", width = 15)
    @ApiModelProperty(value = "户籍")
    private String teacherRegistered;
    /**家庭住址*/
    @Excel(name = "家庭住址", width = 15)
    @ApiModelProperty(value = "家庭住址")
    private String teacherAddress;
    /**描述*/
    @Excel(name = "描述", width = 15)
    @ApiModelProperty(value = "描述")
    private String teacherIntroduce;
    /**职称*/
    @Excel(name = "职称", width = 15)
    @ApiModelProperty(value = "职称")
    private String teacherTitle;
    /**毕业院校*/
    @Excel(name = "毕业院校", width = 15)
    @ApiModelProperty(value = "毕业院校")
    private String teacherUniversity;
    /**最高学历*/
    @Excel(name = "最高学历", width = 15)
    @ApiModelProperty(value = "最高学历")
    private String teacherDegree;
    /**教师资格证编号*/
    @Excel(name = "教师资格证编号", width = 15)
    @ApiModelProperty(value = "教师资格证编号")
    private String teacherCertificateCode;
    /**银行卡号*/
    @Excel(name = "银行卡号", width = 15)
    @ApiModelProperty(value = "银行卡号")
    private String teacherBankId;
    /**状态（0实习,1正常,2借调(出),3借调(入),4休假,5退休,6离职）*/
    @Excel(name = "状态（0实习,1正常,2借调(出),3借调(入),4休假,5退休,6离职）", width = 15, dicCode = "teacher_status")
    @Dict(dicCode = "teacher_status")
    @ApiModelProperty(value = "状态（0实习,1正常,2借调(出),3借调(入),4休假,5退休,6离职）")
    private Integer teacherStatus;
    /**类型(1:正式编制,2.临时聘用,3外聘)*/
    @Excel(name = "类型(1:正式编制,2.临时聘用,3外聘)", width = 15, dicCode = "teacher_ttype")
    @Dict(dicCode = "teacher_ttype")
    @ApiModelProperty(value = "类型(1:正式编制,2.临时聘用,3外聘)")
    private Integer teacherTtype;
    /**是否启用：0：关闭；1：启用*/
    @Excel(name = "是否启用：0：关闭；1：启用", width = 15, dicCode = "iz_open")
    @Dict(dicCode = "iz_open")
    @ApiModelProperty(value = "是否启用：0：关闭；1：启用")
    private Integer teacherIzOpen=1;
    /**是否删除：0：未删除；1：删除*/
    @Excel(name = "是否删除：0：未删除；1：删除", width = 15)
    @ApiModelProperty(value = "是否删除：0：未删除；1：删除")
    private Integer teacherIzDelete=0;
    /**部门编码*/
    @Excel(name = "部门编码", width = 15)
    @ApiModelProperty(value = "部门编码")
    @Dict(dicCode = "org_code",dicText = "depart_name",dictTable = "sys_depart")
    private String sysOrgCode;
    /**学校编码（租户id）*/
    @Excel(name = "学校编码（租户id）", width = 15)
    @ApiModelProperty(value = "学校编码（租户id）")
    private String tenantId;
    /**用户id*/
    @Excel(name = "用户id）", width = 15)
    @ApiModelProperty(value = "用户id")
    @Dict(dicCode = "id",dicText = "username",dictTable = "sys_user")
    private String userId;
    /**创建时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;


    private String teacherSubjectName; //教师所带的科目简称
    /**一键查询字段*/
    @ApiModelProperty(value = "一键查询字段")
    @TableField(exist = false)
    private java.lang.String queryValues;
}
